In the development of large scale complex systems, such as commercial airliners, many hundreds or thousands of individual process steps or decisions must be made between the initial concept and the delivery of a finished product. Many of these process steps and decisions rely on data from other process steps and decisions. For efficiency reasons, it is important to schedule these individual process steps and decisions such that the amount of time wasted in waiting for data is minimized.
Many business processes are the result of manual development methodologies that are not suited to large scale, cross-functional and iterative business processes. These methodologies are typically based on experience and history and often result in an ad-hoc sequencing of process steps irrespective of data dependencies, interrelationships and quality. This often results in process steps being specified for execution in out-of-sequence order. An out-of sequence process step is one that is executed before all of its required inputs from other steps in the process are available. When process steps are executed out-of sequence, the missing data inputs are supplied from sources other than the responsible source. The effects of out-of-sequence process steps are schedule delays due to incorrect data or the continuation of the process with incorrect or stale data. Out-of-sequence process steps therefore requires a rework effort to correct the data.